import Mock from 'mockjs'

Mock.mock('/test', 'get', function () {
  Mock.mock({
    msg: 'sss'
  })
})

Mock.Random.extend({
  store_trade: function () {
    const arr = ['减肥中心', '七七酒店', '私人影院', '盲人按摩']
    return this.pick(arr)
  }
})

Mock.Random.extend({
  level: function () {
    const arr = ['一级权益', '二级权益', '三级权益']
    return this.pick(arr)
  }
})

Mock.Random.extend({
  store_data: function () {
    const data1 = ['2020-02-05', '2020-02-09', '2020-03-01', '2020-07-30', '2020-05-15', '2020-08-02', '2020-04-22']
    return this.pick(data1)
  }
})

Mock.Random.extend({
  phone: function () {
    var phonePrefixs = ['132', '135', '189', '131', '139', '152', '130'] // 自己写前缀哈
    return this.pick(phonePrefixs) + Mock.mock(/\d{8}/)
  }
})

Mock.mock('/officialMat', {
  'list|5': [
    {
      'id|+1': 0,
      mat_name: '@cword(4,6)',
      mat_img: '@Image()',
      mat_class: '@store_trade()',
      mat_class1: '@store_trade()',
      'mat_count|10000-99999': 10000,
      data: '@store_data()'
    }
  ]
})

Mock.mock('/personage', {
  'list|10': [
    {
      'store_id|100000-999999': 100000, // 商品id
      store_name: '@cword(4,6)', // 商品名称
      store_trade: '@store_trade()',
      phone: '@phone()', // 价格，整数部分1~10000,小数保留两位
      store_site: '@cword(6,8)',
      equity_level: '@level()',
      'order_count|10000-99999': 10000,
      'saleroom|1000000-9999999': 1000000,
      data: '@store_data()'
    }
  ]
})

Mock.mock('/share', {
  'list|10': [
    {
      'user_id|100000-999999': 100000,
      user_name: '@cword(4,6)',
      phone: '@phone()',
      'Bus_count|1000-99999': 1000,
      'order_count|10000-999999': 10000,
      'expenditure|1000000-9999999': 1000000,
      'expenditure_count|10000-999999': 10000
    }
  ]
})

// 通过extend方法来创建包邮信息的数据
Mock.Random.extend({
  operation_state: function () {
    const arr = ['true', 'false']
    return this.pick(arr)
  },
  store_industry: function () {
    const arr = ['行业1', '行业2', '行业3', '行业4']
    return this.pick(arr)
  },
  post: function () {
    const arr = ['客服', '推广经理', '董事长']
    return this.pick(arr)
  },
  phone: function () {
    var phonePrefixs = ['132', '135', '189', '181', '159', '177', '188', '131'] // 自己写前缀哈
    return this.pick(phonePrefixs) + Mock.mock(/\d{8}/) // Number()
  },
  free_mail: function () {
    const arr = ['包邮', '不包邮', '2件包邮', '满100包邮', '满200包邮']
    return this.pick(arr)
  },
  pname: function () {
    const arr = ['蟠桃', '九转金丹', '琼浆', '玉液', '寿枣', '凤髓', '龙肝']
    return this.pick(arr)
  },
  sendway: function () {
    const arr = ['同城配送', '跨城配送', '到店自提']
    return this.pick(arr)
  },
  status: function () {
    const arr = ['待支付', '已支付', '待配送', '已收货', '已发货', '申请退款', '已退款', '待自提', '已自提']
    return this.pick(arr)
  },
  industryed: function () {
    const arr = ['便利百货', '五金杂货', '电器家居', '零食商品', '男人的加油站', '女人的美容院']
    return this.pick(arr)
  },
  shopname: function () {
    const arr = ['复返自然', '初离樊笼', '桃源阡陌', '南山种豆', '东篱采菊', '披星荷锄']
    return this.pick(arr)
  }
})
Mock.mock('/product', 'get', {
  'list|15': [
    {
      'id_user|+1': 1,
      'product_id|10000-99999': 1, // 商品id
      product_name: '@cword(2,4)', // 商品名称
      'price|1-10000': 1, // 价格，整数部分1~10000,小数保留两位
      seller: '@cname()', // 卖家的名字
      send_place: '@city(true)', // 发货地址
      iphone: '@phone', // 手机号
      'peopel_id|1-1000000': 1, // 推广人id
      store_industry: '@store_industry()', // 店铺行业
      'peopel_number|1-99': 1, // 推广人数量
      data_time: '@date()', // 推广开店日期
      'promote_store|1-99': 1, // 推广店铺总数
      pname: '@pname', // 商品名称
      'ordernumber|10000-99999': 10000, // 订单号
      sendway: '@sendway', // 配送方式
      date: '@datetime()', // 下单时间
      status: '@status', // 订单状态
      industryed: '@industryed()', // 行业
      shopname: '@shopname()', // 商户名称
      'ddtotal|1-100': 1, // 订单总数量
      'refundnum|1-100': 1, // 退款总数量
      'isrefund|1-1000': 1, // 退款金额
      'is|1-50': 1, // 确认退款率
      'num|1-30': 1, // 退款率
      'refunds|1-20': 1, // 退款订单数量
      image: '@image()', // 随机的商品图片
      'sendmoney|1-20': 1, // 配送费
      'baozhuang|1-10': 1 // 包装费
    }
  ]
})
Mock.mock('/details', 'get', {
  'list|5-20': [
    {
      'id_user|+1': 1,
      'details_id|1-99': 1, // 商品id
      product_name: '@cword(2,4)', // 商品名称
      'price|1-10000.2': 1, // 价格，整数部分1~10000,小数保留两位
      seller: '@cname()', // 卖家的名字
      send_place: '@city(true)', // 发货地址
      iphone: '@phone', // 手机号
      'peopel_id|1-1000000': 1, // 推广人id
      store_industry: '@store_industry()', // 店铺行业
      'number|1-99': 1, // 推广人数量
      data_time: '@datetime()', // 推广开店日期
      'store|1-99': 1 // 推广店铺总数
    }
  ]
})
Mock.mock('/ids', 'get', {
  'list|5-20': [
    {
      'id_user|+1': 1,
      'ids_id|1-9999': 1, // 账号id
      id_name: '@cname', // 用户名称
      'price|1-10000.2': 1, // 价格，整数部分1~10000,小数保留两位
      jurisdiction: '@jurisdiction()', // 包邮形式
      seller: '@cname()', // 卖家的名字
      send_place: '@city(true)', // 发货地址
      id_iphone: '@phone', // 手机号
      'peopel_id|1-1000000': 1, // 推广人id
      store_industry: '@store_industry()', // 店铺行业
      operation_state: '@operation_state()', // 运营状态
      post: '@post', // 职位
      'peopel_number|1-99': 1, // 推广人数量
      data_time: '@date()', // 推广开店日期
      'password|1-1000000': 1
    }
  ]
})
// 通过Mock.mock函数模拟post请求
Mock.mock('/addgoods', 'post', function (option) {
  // 这里的option是请求的相关参数
  // console.log(option)
  // 通过extend方法来创建包邮信息的数据
  Mock.Random.extend({
    free_mail: function () {
      const arr = ['包邮', '不包邮', '2件包邮', '满100包邮', '满200包邮']
      return this.pick(arr)
    },
    pname: function () {
      const arr = ['蟠桃', '九转金丹', '琼浆', '玉液', '寿枣', '凤髓', '龙肝']
      return this.pick(arr)
    },
    sendway: function () {
      const arr = ['同城配送', '跨城配送', '到店自提']
      return this.pick(arr)
    },
    status: function () {
      const arr = ['待支付', '已支付', '待配送', '已收货', '已发货', '申请退款', '已退款', '待自提', '已自提']
      return this.pick(arr)
    }
  })
})
Mock.mock('/product', {
  'list|5': [
    {
      'product_id|+1': 1, // 商品id
      product_name: '@cword(2,4)', // 商品名称
      'price|1-10000': 1, // 价格，整数部分1~10000,小数保留两位
      free_mail: '@free_mail()', // 包邮形式
      seller: '@cname()', // 卖家的名字
      image: '@image()', // 随机的商品图片
      send_place: '@city(true)', // 发货地址
      pname: '@pname', // 商品名称
      'ordernumber|10000-99999': 10000, // 订单号
      sendway: '@sendway', // 配送方式
      date: '@datetime()', // 下单时间
      status: '@status' // 订单状态
    }
  ]
})
//   console.log(data)
// 通过Mock.mock函数模拟post请求
Mock.mock('/addId', 'post', function (option) {
  // 这里的option是请求的相关参数
  console.log(option)

  try {
    var params = JSON.parse(option.body)
  } catch (err) {
    return Mock.mock({
      status: 444,
      message: '请求参数有误'
    })
  }
  console.log(params)
  if (typeof params.ids_id !== 'number' || params.ids_id < 0) {
    return Mock.mock({
      status: 448,
      message: '账号必须是数字，而且大于0'
    })
  } else if (typeof params.id_name !== 'string') {
    return Mock.mock({
      status: 301,
      message: '用户名格式不正确'
    })
  }
  return Mock.mock({
    status: 200,
    message: '添加商品成功'
  })
})
// 导入mockjs

// 通过extend方法来创建包邮信息的数据
Mock.Random.extend({
  shop_name: function () {
    const arr = ['美佳宜', '新佳宜', '旧佳宜']
    return this.pick(arr)
  },
  shopBranch_name: function () {
    const arr = ['保利店', '桔洲印象店', '和馨园店']
    return this.pick(arr)
  },
  industry: function () {
    const arr = ['烟酒超市', '生活超市', '日常超市', '批发超市']
    return this.pick(arr)
  },
  interestLevel: function () {
    const arr = ['未购买', '一级权益', '二级权益']
    return this.pick(arr)
  },
  operateStatus: function () {
    const arr = ['独立经营', '共享经营']
    return this.pick(arr)
  },
  shopActivities: function () {
    const arr = ['打折促销', '限时抢购', '亏本甩卖']
    return this.pick(arr)
  },
  deliveryMethod: function () {
    const arr = [0, 1, 2, 3]
    return this.pick(arr)
  }
})
Mock.mock('/shoplist', {
  'data|5': [
    {
      'id|+1': 0,
      'shop_id|+1': 10086, // 店铺id
      shop_name: '@shop_name', // 自定义店铺名称
      shopBranch_name: '@shopBranch_name', // 自定义分店名称
      industry: '@industry', // 自定义行业
      shop_address: '@city(true)', // 店铺地址
      tel_phone: /^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, // 电话号码
      shopPromoter: /\d{6}/, // 推广人id
      invitateID: /\d{6}/, // 邀请id
      'checkStatus|1': true, // 审核状态
      deliveryMethod: '@deliveryMethod', // 发货方式
      checkRemark: '@cword(4,12)', // 审核备注
      interestLevel: '@interestLevel', // 权益级别
      'interestTime|1-365': 1, // 权益时限
      'saleMoney|1-10000.2': 1, // 销售额
      'totalSaleNum|1-2000': 1,
      operateStatus: '@operateStatus', // 经营状态
      'shopStatus|1': true, // 是否停用
      shop_remark: '@cword(4,15)', // 店铺备注
      shop_avater: '@image()', // 随机店铺头像
      main_product: '@image()', // 主要产品图
      shop_photo: '@image()', // 店铺实拍图
      shop_license: '@image()', // 营业执照图
      idCardFront: '@image()', // 身份证正面照
      idCardContrary: '@image()', // 身份证反面照
      idCardNum: /\d{11}/, // 身份证号
      allindustry: [
        { value: '烟酒超市', label: '烟酒超市' },
        { value: '生活超市', label: '生活超市' },
        { value: '日常超市', label: '日常超市' },
        { value: '批发超市', label: '批发超市' }
      ]
    }
  ]
})
Mock.mock('/goodslist', {
  'data|5': [{
    'goodsId|+1': 123456,
    belongShop: '@shop_name',
    shopImage: '@image',
    shopName: '@cword(4,12)',
    shopType: '@cword(2,8)',
    shopTypeTwo: '@cword(2,8)',
    'costPrice|1-10000.2': 1,
    'oldPrice|1-10000.2': 1,
    'salePrice|1-10000.2': 1,
    'inventory|1-2000': 1,
    'inventory|1-50000.2': 1,
    'monthSaleNum|1-2000': 1,
    'totalSaleNum|1-2000': 1,
    'monthSaleMoney|1-100000': 1,
    'totalSaleMoney|1-500000': 1,
    shopActivities: '@shopActivities',
    'isHotSale|1': true,
    'isRecomment|1': true,
    'shopStatus|1': true
  }]
})
// 柏武的数据
// 平台支出页面的数据
Mock.mock('/productA', {
  'list|20': [
    {
      transaction: '店铺提现',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      withdrawalId: /[A-Z]{6}/, // 提现单号
      'amout|1-1000': 100, // 提现金额
      time: '@datetime' // 时间
    },
    {
      transaction: '用户提现',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      withdrawalId: /[A-Z]{6}/, // 提现单号
      'amout|1-1000': 100, // 提现金额
      time: '@datetime' // 时间
    }
  ]
})

// 平台收入明细页面的数据
Mock.mock('/income', {
  'list|20': [
    {
      transaction: '店铺订单',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      order: /[A-Z]{6}/, // 订单号
      'TransactionAmount|1-1000': 100, // 交易金额
      'CommissionAmount|1-1000': 100, // 抽佣金额
      'PlatformRevenue|1-1000': 100, // 平台收益
      time: '@datetime' // 时间
    },
    {
      transaction: '素材收益',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      order: /[A-Z]{6}/, // 订单号
      'TransactionAmount|1-1000': 100, // 交易金额
      'CommissionAmount|1-1000': 100, // 抽佣金额
      'PlatformRevenue|1-1000': 100, // 平台收益
      time: '@datetime' // 时间
    },
    {
      transaction: '素材抽佣',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      order: /[A-Z]{6}/, // 订单号
      'TransactionAmount|1-1000': 100, // 交易金额
      'CommissionAmount|1-1000': 100, // 抽佣金额
      'PlatformRevenue|1-1000': 100, // 平台收益
      time: '@datetime' // 时间
    },
    {
      transaction: '店铺权益',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      order: /[A-Z]{6}/, // 订单号
      'TransactionAmount|1-1000': 100, // 交易金额
      'CommissionAmount|1-1000': 100, // 抽佣金额
      'PlatformRevenue|1-1000': 100, // 平台收益
      time: '@datetime' // 时间
    }
  ]
})

// 提现管理页面数据
Mock.mock('/withdrawal', {
  'list|20': [
    {
      transaction: '店铺提现',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      withdrawalId: /[A-Z]{6}/, // 提现单号
      'amout|1-1000': 100, // 提现金额
      starttime: '@datetime', // 申请提现时间
      state: '待处理', // 处理状态
      time: '@datetime', // 提现成功时间
      remarks: '速度点',
      operation: '处理'
    },
    {
      transaction: '用户提现',
      shopId: /\d{7}/, // 店铺Id/用户Id
      username: '@cword(4,6)', // 店铺名称/昵称
      withdrawalId: /[A-Z]{6}/, // 提现单号
      'amout|1-1000': 100, // 提现金额
      starttime: '@datetime', // 申请提现时间
      state: '待处理', // 处理状态
      time: '@datetime', // 提现成功时间
      remarks: '速度点',
      operation: '处理'
    }
  ]
})
